package org.dromara.authcode.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.authcode.domain.TDeviceLocation;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 设备位置记录视图对象 t_device_location
 *
 * @author Miles Meng
 * @date 2025-08-11
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TDeviceLocation.class)
public class TDeviceLocationVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 设备ID
     */
    @ExcelProperty(value = "设备ID")
    private Long deviceId;

    /**
     * 设备名称
     */
    private String deviceName;
    /**
     * 纬度
     */
    @ExcelProperty(value = "纬度")
    private BigDecimal latitude;

    /**
     * 经度
     */
    @ExcelProperty(value = "经度")
    private BigDecimal longitude;

    /**
     * 定位精度(米)
     */
    @ExcelProperty(value = "定位精度(米)")
    private Long accuracy;

    /**
     * 海拔
     */
    @ExcelProperty(value = "海拔")
    private Long altitude;

    /**
     * 速度(m/s)
     */
    @ExcelProperty(value = "速度(m/s)")
    private Long speed;

    /**
     * 方向角
     */
    @ExcelProperty(value = "方向角")
    private Long bearing;

    /**
     * 定位时间
     */
    @ExcelProperty(value = "定位时间")
    private Date locationTime;

    /**
     * 记录时间
     */
    @ExcelProperty(value = "记录时间")
    private Date recordTime;

    /**
     * 地理位置描述
     */
    @ExcelProperty(value = "地理位置描述")
    private String address;


}
